// Copyright 2021-2025 Buf Technologies, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// @generated by protoc-gen-es v2.10.1 with parameter "target=ts,import_extension=js"
// @generated from file extra/perf.proto (package perf.v1, syntax proto3)
/* eslint-disable */

import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file extra/perf.proto.
 */
export const file_extra_perf: GenFile = /*@__PURE__*/
  fileDesc("ChBleHRyYS9wZXJmLnByb3RvEgdwZXJmLnYxIuYNCgtQZXJmTWVzc2FnZRIUCgxkb3VibGVfZmllbGQYASABKAESEwoLaW50MzJfZmllbGQYAiABKAUSFQoMdWludDMyX2ZpZWxkGIUaIAEoDRIYCgtpbnQ2NF9maWVsZBgDIAEoA0gDiAEBEhcKCmJvb2xfZmllbGQYBCABKAhIBIgBARIUCgxzdHJpbmdfZmllbGQYBSABKAkSEwoLYnl0ZXNfZmllbGQYBiABKAwSJQoKZW51bV9maWVsZBgHIAEoDjIRLnBlcmYudjEuUGVyZkVudW0SMQoTc21hbGxfbWVzc2FnZV9maWVsZBgIIAEoCzIULnBlcmYudjEuUGVyZk1lc3NhZ2USFgoOdW51c2VkX2ZpZWxkXzEYCSABKAUSFgoOdW51c2VkX2ZpZWxkXzIYCiABKAUSFgoOdW51c2VkX2ZpZWxkXzMYCyABKAUSFgoOdW51c2VkX2ZpZWxkXzQYDCABKAUSFgoOdW51c2VkX2ZpZWxkXzUYDSABKAUSFgoOdW51c2VkX2ZpZWxkXzYYDiABKAUSFgoOdW51c2VkX2ZpZWxkXzcYDyABKAUSFgoOdW51c2VkX2ZpZWxkXzgYECABKAUSFgoOdW51c2VkX2ZpZWxkXzkYESABKAUSFwoPdW51c2VkX2ZpZWxkXzEwGBIgASgFEh0KFXJlcGVhdGVkX2RvdWJsZV9maWVsZBgTIAMoARIcChRyZXBlYXRlZF9pbnQzMl9maWVsZBgUIAMoBRIcChRyZXBlYXRlZF9pbnQ2NF9maWVsZBgpIAMoAxIbChNyZXBlYXRlZF9ib29sX2ZpZWxkGBYgAygIEiMKG3JlcGVhdGVkX3Nob3J0X3N0cmluZ19maWVsZBgXIAMoCRIiChpyZXBlYXRlZF9sb25nX3N0cmluZ19maWVsZBgYIAMoCRIiChpyZXBlYXRlZF9zaG9ydF9ieXRlc19maWVsZBgZIAMoDBIhChlyZXBlYXRlZF9sb25nX2J5dGVzX2ZpZWxkGBogAygMEi4KE3JlcGVhdGVkX2VudW1fZmllbGQYGyADKA4yES5wZXJmLnYxLlBlcmZFbnVtEjoKHHJlcGVhdGVkX3NtYWxsX21lc3NhZ2VfZmllbGQYHCADKAsyFC5wZXJmLnYxLlBlcmZNZXNzYWdlEkAKD21hcF9pbnQzMl9pbnQzMhgeIAMoCzInLnBlcmYudjEuUGVyZk1lc3NhZ2UuTWFwSW50MzJJbnQzMkVudHJ5EkAKD21hcF9pbnQ2NF9pbnQ2NBgfIAMoCzInLnBlcmYudjEuUGVyZk1lc3NhZ2UuTWFwSW50NjRJbnQ2NEVudHJ5EkYKEm1hcF9zdHJpbmdfbWVzc2FnZRggIAMoCzIqLnBlcmYudjEuUGVyZk1lc3NhZ2UuTWFwU3RyaW5nTWVzc2FnZUVudHJ5EkAKD21hcF9zdHJpbmdfZW51bRghIAMoCzInLnBlcmYudjEuUGVyZk1lc3NhZ2UuTWFwU3RyaW5nRW51bUVudHJ5EjAKE29uZW9mX2VudW1fdmVyaWZpZWQYIiABKA4yES5wZXJmLnYxLlBlcmZFbnVtSAASMQoUb25lb2ZfZW51bV9jcm9tdWxlbnQYIyABKA4yES5wZXJmLnYxLlBlcmZFbnVtSAASMwoTb25lb2ZfbWVzc2FnZV9maWVsZBgkIAEoCzIULnBlcmYudjEuUGVyZk1lc3NhZ2VIARI5ChlvbmVvZl9zbWFsbF9tZXNzYWdlX2ZpZWxkGCUgASgLMhQucGVyZi52MS5QZXJmTWVzc2FnZUgBEhsKEW9uZW9mX2ludDMyX2ZpZWxkGCYgASgFSAISGgoQb25lb2ZfYm9vbF9maWVsZBgnIAEoCEgCEgoKAmlkGCggASgNGjQKEk1hcEludDMySW50MzJFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUYAiABKAU6AjgBGjQKEk1hcEludDY0SW50NjRFbnRyeRILCgNrZXkYASABKAMSDQoFdmFsdWUYAiABKAM6AjgBGk0KFU1hcFN0cmluZ01lc3NhZ2VFbnRyeRILCgNrZXkYASABKAkSIwoFdmFsdWUYAiABKAsyFC5wZXJmLnYxLlBlcmZNZXNzYWdlOgI4ARpHChJNYXBTdHJpbmdFbnVtRW50cnkSCwoDa2V5GAEgASgJEiAKBXZhbHVlGAIgASgOMhEucGVyZi52MS5QZXJmRW51bToCOAFCDAoKb25lb2ZfZW51bUIPCg1vbmVvZl9tZXNzYWdlQg4KDG9uZW9mX3NjYWxhckIOCgxfaW50NjRfZmllbGRCDQoLX2Jvb2xfZmllbGQqSgoIUGVyZkVudW0SGQoVUEVSRl9FTlVNX1VOU1BFQ0lGSUVEEAASEQoNUEVSRl9FTlVNX1lFUxABEhAKDFBFUkZfRU5VTV9OTxACYgZwcm90bzM");

/**
 * @generated from message perf.v1.PerfMessage
 */
export type PerfMessage = Message<"perf.v1.PerfMessage"> & {
  /**
   * @generated from field: double double_field = 1;
   */
  doubleField: number;

  /**
   * @generated from field: int32 int32_field = 2;
   */
  int32Field: number;

  /**
   * @generated from field: uint32 uint32_field = 3333;
   */
  uint32Field: number;

  /**
   * @generated from field: optional int64 int64_field = 3;
   */
  int64Field?: bigint;

  /**
   * @generated from field: optional bool bool_field = 4;
   */
  boolField?: boolean;

  /**
   * @generated from field: string string_field = 5;
   */
  stringField: string;

  /**
   * @generated from field: bytes bytes_field = 6;
   */
  bytesField: Uint8Array;

  /**
   * @generated from field: perf.v1.PerfEnum enum_field = 7;
   */
  enumField: PerfEnum;

  /**
   * @generated from field: perf.v1.PerfMessage small_message_field = 8;
   */
  smallMessageField?: PerfMessage;

  /**
   * @generated from field: int32 unused_field_1 = 9;
   */
  unusedField1: number;

  /**
   * @generated from field: int32 unused_field_2 = 10;
   */
  unusedField2: number;

  /**
   * @generated from field: int32 unused_field_3 = 11;
   */
  unusedField3: number;

  /**
   * @generated from field: int32 unused_field_4 = 12;
   */
  unusedField4: number;

  /**
   * @generated from field: int32 unused_field_5 = 13;
   */
  unusedField5: number;

  /**
   * @generated from field: int32 unused_field_6 = 14;
   */
  unusedField6: number;

  /**
   * @generated from field: int32 unused_field_7 = 15;
   */
  unusedField7: number;

  /**
   * @generated from field: int32 unused_field_8 = 16;
   */
  unusedField8: number;

  /**
   * @generated from field: int32 unused_field_9 = 17;
   */
  unusedField9: number;

  /**
   * @generated from field: int32 unused_field_10 = 18;
   */
  unusedField10: number;

  /**
   * @generated from field: repeated double repeated_double_field = 19;
   */
  repeatedDoubleField: number[];

  /**
   * @generated from field: repeated int32 repeated_int32_field = 20;
   */
  repeatedInt32Field: number[];

  /**
   * @generated from field: repeated int64 repeated_int64_field = 41;
   */
  repeatedInt64Field: bigint[];

  /**
   * @generated from field: repeated bool repeated_bool_field = 22;
   */
  repeatedBoolField: boolean[];

  /**
   * @generated from field: repeated string repeated_short_string_field = 23;
   */
  repeatedShortStringField: string[];

  /**
   * @generated from field: repeated string repeated_long_string_field = 24;
   */
  repeatedLongStringField: string[];

  /**
   * @generated from field: repeated bytes repeated_short_bytes_field = 25;
   */
  repeatedShortBytesField: Uint8Array[];

  /**
   * @generated from field: repeated bytes repeated_long_bytes_field = 26;
   */
  repeatedLongBytesField: Uint8Array[];

  /**
   * @generated from field: repeated perf.v1.PerfEnum repeated_enum_field = 27;
   */
  repeatedEnumField: PerfEnum[];

  /**
   * @generated from field: repeated perf.v1.PerfMessage repeated_small_message_field = 28;
   */
  repeatedSmallMessageField: PerfMessage[];

  /**
   * @generated from field: map<int32, int32> map_int32_int32 = 30;
   */
  mapInt32Int32: { [key: number]: number };

  /**
   * @generated from field: map<int64, int64> map_int64_int64 = 31;
   */
  mapInt64Int64: { [key: string]: bigint };

  /**
   * @generated from field: map<string, perf.v1.PerfMessage> map_string_message = 32;
   */
  mapStringMessage: { [key: string]: PerfMessage };

  /**
   * @generated from field: map<string, perf.v1.PerfEnum> map_string_enum = 33;
   */
  mapStringEnum: { [key: string]: PerfEnum };

  /**
   * @generated from oneof perf.v1.PerfMessage.oneof_enum
   */
  oneofEnum: {
    /**
     * @generated from field: perf.v1.PerfEnum oneof_enum_verified = 34;
     */
    value: PerfEnum;
    case: "oneofEnumVerified";
  } | {
    /**
     * @generated from field: perf.v1.PerfEnum oneof_enum_cromulent = 35;
     */
    value: PerfEnum;
    case: "oneofEnumCromulent";
  } | { case: undefined; value?: undefined };

  /**
   * @generated from oneof perf.v1.PerfMessage.oneof_message
   */
  oneofMessage: {
    /**
     * @generated from field: perf.v1.PerfMessage oneof_message_field = 36;
     */
    value: PerfMessage;
    case: "oneofMessageField";
  } | {
    /**
     * @generated from field: perf.v1.PerfMessage oneof_small_message_field = 37;
     */
    value: PerfMessage;
    case: "oneofSmallMessageField";
  } | { case: undefined; value?: undefined };

  /**
   * @generated from oneof perf.v1.PerfMessage.oneof_scalar
   */
  oneofScalar: {
    /**
     * @generated from field: int32 oneof_int32_field = 38;
     */
    value: number;
    case: "oneofInt32Field";
  } | {
    /**
     * @generated from field: bool oneof_bool_field = 39;
     */
    value: boolean;
    case: "oneofBoolField";
  } | { case: undefined; value?: undefined };

  /**
   * @generated from field: uint32 id = 40;
   */
  id: number;
};

/**
 * Describes the message perf.v1.PerfMessage.
 * Use `create(PerfMessageSchema)` to create a new message.
 */
export const PerfMessageSchema: GenMessage<PerfMessage> = /*@__PURE__*/
  messageDesc(file_extra_perf, 0);

/**
 * @generated from enum perf.v1.PerfEnum
 */
export enum PerfEnum {
  /**
   * @generated from enum value: PERF_ENUM_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: PERF_ENUM_YES = 1;
   */
  YES = 1,

  /**
   * @generated from enum value: PERF_ENUM_NO = 2;
   */
  NO = 2,
}

/**
 * Describes the enum perf.v1.PerfEnum.
 */
export const PerfEnumSchema: GenEnum<PerfEnum> = /*@__PURE__*/
  enumDesc(file_extra_perf, 0);

